home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / GW AdaEd 1.4.2 / GWAdaDemos / GWU Demos / windows.ads < prev    next >
Text File  |  1993-10-09  |  2KB  |  61 lines

  1. WITH Screen;
  2. PACKAGE Windows IS
  3.  
  4.   -- manager for simple, nonoverlapping screen windows
  5.  
  6.   TYPE Window IS PRIVATE;
  7.  
  8.   FUNCTION Open (UpperLeft: Screen.Position;
  9.                  Height   : Screen.Height;
  10.                  Width    : Screen.Width) RETURN Window;
  11.   -- Pre:  W, Height, and Width are defined
  12.   -- Post: returns a Window with the given upper-left corner,
  13.   --   height, and width
  14.  
  15.   PROCEDURE Title (W     : IN OUT Window;
  16.                    Name  : IN String;
  17.                    Under : IN Character);
  18.   -- Pre:  W, Name, and Under are defined
  19.   -- Post: Name is displayed at the top of the window W, underlined
  20.   -- with the character Under. 
  21.  
  22.   PROCEDURE Borders (W                    : IN OUT Window;
  23.                      Corner, Down, Across : IN Character);
  24.   -- Pre:  All parameters are defined
  25.   -- Post: Draw border around current writable area in window with 
  26.   -- characters specified.  Call this BEFORE Title.  
  27.  
  28.   PROCEDURE MoveCursor (W : IN OUT Window;
  29.                         P : IN Screen.Position);
  30.   -- Pre:  W and P are defined, and P lies within the area of W
  31.   -- Post: Cursor is moved to the specified position.
  32.   --   Coordinates are relative to the
  33.   --   upper left corner of W, which is (1, 1) 
  34.  
  35.   PROCEDURE Put (W  : IN OUT Window;
  36.                  Ch : IN Character);
  37.   -- Pre:  W and Ch are defined.
  38.   -- Post: Ch is displayed in the window at 
  39.   --   the next available position.
  40.   --   If end of column, go to the next row.
  41.   --   If end of window, go to the top of the window. 
  42.  
  43.   PROCEDURE Put (W : IN OUT Window;
  44.                  S : IN String);
  45.   -- Pre:  W and S are defined
  46.   -- Post: S is displayed in the window, "line-wrapped" if necessary
  47.  
  48.   PROCEDURE New_Line (W : IN OUT Window);
  49.   -- Pre:  W is defined
  50.   -- Post: Cursor moves to beginning of next line of W;
  51.   --   line is not blanked until next character is written  
  52.  
  53. PRIVATE
  54.   TYPE Window IS RECORD
  55.     First  : Screen.Position; -- coordinates of upper left
  56.     Last   : Screen.Position; -- coordinates of lower right
  57.     Current: Screen.Position; -- current cursor position
  58.   END RECORD;
  59.  
  60. END Windows;
  61.